package com.tnxst.phexamination.dto;

import androidx.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;

import com.tnxst.phexamination.utils.GsonUtils;

import java.io.Serializable;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TbPatientRecordDTO implements Serializable {

    //为空表示新增，不为空表示更新
    @PrimaryKey
    @NonNull
    private String tbId;

//    //结核病基本信息
//    @ColumnInfo
//    private String TbBaseInfo;
//
//    //结核病档案
//    @ColumnInfo
//    private String CmPerson;

    /**
     * 化疗方案
     */
    @ColumnInfo
    private String ChemotherapyRegimen;

    /**
     * 化疗管理方式（1 全程督导，2 强化期督导，3 全程管理，4 自服药）
     */
    @ColumnInfo
    private String CmWay;

    /**
     * 诊断分型（1 原发性肺结核，2 血行播散性肺结核，3 继发性肺结核，4 结核性胸膜炎，5 其他肺外结核）
     */
    @ColumnInfo
    private String DiagnosticTyping ;

    /**
     * 处治（1 新病人，2 其他）
     */
    @ColumnInfo
    private String InitialTreatment;

    /**
     * 药费来源（1 社保，2 自费，3 免费）
     */
    @ColumnInfo
    private String PaymentMethod;

    /**
     * 复治（1 复发，2 追回，3 初治失败，4 迁入，5其他）
     */
    @ColumnInfo
    private String ReTreatment;

    /**
     * 登记日期
     */
    @ColumnInfo
    private String RecDate;

    /**
     * 登记号
     */
    @ColumnInfo
    private String RecNo;

    /**
     * 最后一次治疗日期
     */
    @ColumnInfo
    private String RecentTreatmentDate;

    /**
     * 状态（0 未结案，1 结案）
     */
    private String Status;

    /**
     * 本次化疗开始时间
     */
    @ColumnInfo
    private String TreatmentDate;

    /**
     * 最后一次治疗单位（1 本单位，2 外单位，3 外县）
     */
    @ColumnInfo
    private String TreatmentOrgType;

    /**
     * 确诊日期
     */
    @ColumnInfo
    private String DiagnosisDate;

    /**
     * 医生ID
     */
    @ColumnInfo
    private String DoctorID;

    /**
     * 医生姓名
     */
    @ColumnInfo
    private String DoctorName;

    /**
     * 个人ID
     */
    @ColumnInfo
    private String PersonID;

    /**
     * 备注
     */
    @ColumnInfo
    private String Remark;

    @ColumnInfo
    private boolean isUpload;

    @ColumnInfo
    private String personName;

    /**
     * 随访是否完成  0 未完成  1 已完成
     */
    @ColumnInfo
    private Integer isFinish = 0;
    
    /**
     * 定位地址
     */
    @ColumnInfo
    private String address;

    /**
     * 拍照图片路径1
     */
    @ColumnInfo
    private String picturePath1;

    /**
     * 拍照图片路径2
     */
    @ColumnInfo
    private String picturePath2;

    /**
     * 拍照图片路径3
     */
    @ColumnInfo
    private String picturePath3;
    
//    //结核病基本信息
//    @Data
//    @NoArgsConstructor
//    @AllArgsConstructor
//    public class TbBaseInfo{
//        /**
//         * 化疗方案
//         */
//        private String ChemotherapyRegimen;
//
//        /**
//         * 化疗管理方式（1 全程督导，2 强化期督导，3 全程管理，4 自服药）
//         */
//        private String CmWay;
//
//        /**
//         * 诊断分型（1 原发性肺结核，2 血行播散性肺结核，3 继发性肺结核，4 结核性胸膜炎，5 其他肺外结核）
//         */
//        private String DiagnosticTyping ;
//
//        /**
//         * 处治（1 新病人，2 其他）
//         */
//        private String InitialTreatment;
//
//        /**
//         * 药费来源（1 社保，2 自费，3 免费）
//         */
//        private String PaymentMethod;
//
//        /**
//         * 复治（1 复发，2 追回，3 初治失败，4 迁入，5其他）
//         */
//        private String ReTreatment;
//
//        /**
//         * 登记日期
//         */
//        private String RecDate;
//
//        /**
//         * 登记号
//         */
//        private String RecNo;
//
//        /**
//         * 最后一次治疗日期
//         */
//        private String RecentTreatmentDate;
//
//        /**
//         * 状态（0 未结案，1 结案）
//         */
//        private String Status;
//
//        /**
//         * 本次化疗开始时间
//         */
//        private String TreatmentDate;
//
//        /**
//         * 最后一次治疗单位（1 本单位，2 外单位，3 外县）
//         */
//        private String TreatmentOrgType;
//    }
//
//    //结核病档案
//    @Data
//    @NoArgsConstructor
//    @AllArgsConstructor
//    public class CmPerson{
//        /**
//         * 确诊日期
//         */
//        private String DiagnosisDate;
//
//        /**
//         * 医生ID
//         */
//        private String DoctorID;
//
//        /**
//         * 医生姓名
//         */
//        private String DoctorName;
//
//        /**
//         * 个人ID
//         */
//        private String PersonID;
//
//        /**
//         * 备注
//         */
//        private String Remark;
//    }
//
//    public String caseTbBaseInfoToJson(TbBaseInfo tbBaseInfo){
//        TbBaseInfo = GsonUtils.toJson(tbBaseInfo);
//        return TbBaseInfo;
//    }
//
//    public TbBaseInfo caseJsonToTbBaseInfo(String json){
//        TbPatientRecordDTO.TbBaseInfo tbBaseInfo = GsonUtils.fromJson(json, TbPatientRecordDTO.TbBaseInfo.class);
//        return tbBaseInfo;
//    }
//
//    public String caseCmPersonToJson(CmPerson cmPerson){
//        CmPerson = GsonUtils.toJson(cmPerson);
//        return CmPerson;
//    }
//
//    public CmPerson caseJsonToCmPerson(String json){
//        TbPatientRecordDTO.CmPerson cmPerson = GsonUtils.fromJson(json, TbPatientRecordDTO.CmPerson.class);
//        return cmPerson;
//    }
}
